06 Para saber mais: preciso manter a propriedade protected?

Próxima Atividade
  • Mudar o player
  • Sugerir melhoria

Para saber mais: preciso de protected mesmo?

Vejamos a classe View que criamos neste capítulo:

abstract class View<T> {

    protected _elemento: Element;

    constructor(seletor: string) {

        this._elemento = document.querySelector(seletor);
    }

    update(model: T) {

        this._elemento.innerHTML = this.template(model);
    }

    abstract template(model: T): string;

}

Usamos o modificador protected logo no início para permitir que os métodos update definidos nas classes filhas pudessem acessar a propriedade. Contudo, melhoramos o design de nossa classe e conseguimos fazer com que as classes filhas também herdassem o método update de View. Nesse contexto, o acesso à propriedade _elemento é feito por um método da classe pai, sendo assim, podemos voltar com o modificador private em nossa classe, evitando assim o relaxamento do seu encapsulamento:

abstract class View<T> {

    // voltando com private!

    private _elemento: Element;

    constructor(seletor: string) {

        this._elemento = document.querySelector(seletor);
    }

    update(model: T) {

        this._elemento.innerHTML = this.template(model);
    }

    abstract template(model: T): string;

}

Era essa ideia que este instrutor gostaria ter passado para vocês quando disse no vídeo que haveria outra solução para acessar a propriedade _elemento sem a necessidade do uso do modificador protected. Mas foi tanta emoção que deixei de fazer essa pequena alteração.

Tirar dúvida Próxima Atividade
ícone TypeScript parte 1: Evoluindo seu Javascript

TypeScript parte 1: Evoluindo seu Javascript

100%
Aula04 de 05

Herança, reaproveitamento de código

Atividades 6 de 10

  • 01 Repetindo código...oh my! 05min
  • 02 Herança 06min
  • 03 Utilizando herança
  • 04 Lidando com tipos genéricos 09min
  • 05 Dois tipos genéricos
  • 06 Para saber mais: preciso manter a propriedade protected?
  • 07 Classes abstratas 04min
  • 08 Boleto bancário
  • 09 Revisão 03min
  • 10 Consolidando seu conhecimento

Aulas

Outros Links

Fórum Trocar Curso
Gravatar de Marcos Katsumi Kay

Marcos Katsumi Kay 34.0k xp

Logo da Alura